In traditional engineering analyses a typical goal is to determine if stresses in an object or system are within bounds permissible for the material and/or the shape, typically well below the yield stress which is the point beyond which the material undergoes deformation and does not return to its original shape upon release of a load on the material.
Engineering analysis protocols typically assume that an engineer should determine realistic static or dynamic loads on a material part or structure. For example, an engine part typically repeats the same cyclic motion, with a known range of forces applied in a particular way. The loads on a piece of furniture or on a building are even more predictable, and, in the latter case, test loads are often codified. In general this approach and complemented by prototype testing, this methodology works well in mass-production, construction, and small-volume construction of complex machinery (e.g., ships and airplanes). This approach however is known to fail in some instances: for example, a well-known example is of the Citigroup Center building which had to be retrofitted because it was not tested for 45-degree wind loads at the design stage. This illustrates a limitation of testing with a set of predefined test loads. 3D printing applications typically follow a different operational path. Unlike conventional manufacturing methods, 3D printing is primarily used to produce unique or highly customized objects. In a typical scenario, a printing company for such processes will receive a large volume of uploads per day. In order to keep production times and costs down, the company must evaluate whether a design is structurally sound; this needs to be done in a rapid and inexpensive way but often without specific knowledge of design function and likely load distribution. In most cases, it is no longer possible to amortize the expense of engineering analysis by an expert to understand the semantic and plausible loads of each printed object by using standard engineering analysis software.
Computational analysis of structural soundness of mechanical parts and buildings is broadly used, but almost always in the context of known sets of loads. While engineers routinely need to evaluate soundness of structures and mechanisms under worst-case scenarios, in most cases, worst-case loads are designed empirically for specific problems (e.g., construction of buildings to withstand loads from flooding or earthquakes). Automatic methods are less common: an important set of methods in the context of modeling under uncertainty is based on the idea of anti-optimization.
In aerospace engineering, filter-based methods were developed to predict worst-case gusts and turbulence encountered by an airplane describes a model the aircraft's response to turbulence as a linear filter's response to Gaussian white noise. From this model, a worst-case noise sample and resulting strain are obtained.
Three-dimensional (3D) printing and other types of direct digital manufacturing are rapidly expanding industries that provide easy ways to manufacture highly customized and unique products. The development pipeline for such products is radically different from the conventional manufacturing pipeline: 3D geometric models are designed by users often with little or no manufacturing experience, and sent directly to the printer. Structural analysis on the user side with conventional tools is often unfeasible as it requires specialized training and software. Trial-and-error, the most common approach, is time consuming and expensive.
In the context of analysis tailored for 3D printing applications of the type considered herein, current methods evaluate 3D shapes in two main scenarios to discover structure weakness: applying gravity loads and gripping the shape using two fingers at locations predicted by a heuristic method. This set of fixed usage scenarios is often insufficient to expose the true structure weakness for many printed shapes. Other methods focus on purely geometric ways to evaluate whether a structure is suitable for 3D printing based on empirical rules formulated by the 3D printing industry.
In yet another area, structural stability for simple furniture constructed from rigid planks connected by nails is analyzed at interactive rates. These methods also suggest corrections when shapes with poor stability are detected.
Other recent works address various aspects of computational design for 3D printing. One method provides a pipeline to print objects in a composite material that reproduces desired deformation behavior. To achieve this goal, accurate modeling is done of the nonlinear stress-strain relationship of printing materials and how printed models will respond to imposed loads. The space of deformations is a user-supplied input, and structural soundness of the design with respect to other loads is not considered. While some specialized work on CAD for 3D printing exists, overwhelmingly, standard tools with no or little analysis support are used.
Other work proposes a framework to decompose 3D shapes into smaller parts that can be assembled without compromising the physical functionality of the shape so that larger objects can be printed using printers with a small working volume. A standard finite element simulation to estimate stress of the input shape under gravity in a user specified upright orientation. Other works aim to print articulated models that maintain poses under gravity but do not require manual assembly designs and fits a generic, parametrized printable joint template based on a ball and socket joint. The joint provides enough internal friction and strength to hold poses and survive manipulation, but is tuned to its parameters experimentally instead of using a physically based optimization. Other designs a similar ball and socket joint and a hinge joint. An approximate geometric optimization of stresses is performed by maximizing certain cross-sectional areas of the joint.
3D printing has also been used to reproduce appearance to optimize the layering of base materials in a 3D multi-material printer to print objects whose subsurface scattering best matches an input BSSRDF.
Common single-stage 3D printing processes either deposit the liquid material only in needed places (e.g., FDM) or deposit material in powder form layer by layer, and then fuse or harden it at points inside the object (e.g., stereolithography uses photosensistive polymers, and laser sintering fuses regular polymers by heat).
These processes typically use flexible polymers with large elastic and plastic zones in their stress-strain curves. These polymers rarely break if geometric criteria for printability are satisfied, but they can undergo large plastic deformations.
Printing metal, ceramics, and composite materials often involves multiple stages. For example, the object may be printed layer by layer in metal powder with polymer binder. At the next stage, the binder is cured in a furnace, resulting in a green state part, and at the last stage, the metal is fused in a furnace and extra metal is added. Green state is brittle and has low strength, so parts in this state easily damaged. A simpler multistage process is used for relatively brittle composite materials, e.g, gypsum-based multicolor materials; a second curing stage is used to give the material additional strength. Both the green state and the final material are relatively brittle. Whenever binding polymer is mixed layer-by-layer with a different material, resulting material is likely to be highly anisotropic.
Therefore, both brittle and ductile materials are of importance. The former requires predicting where the material is likely to break, and the latter requires predicting extreme deformations likely to become plastic. Due to the layer-by-layer nature of the printing process, anisotropy is common and needs to be taken into account. Some of the loads even during production stages are hard to predict and quantify.
Consequently, it is desirable to design a system and method capable of automatically identifying “worst case” load scenarios, and evaluating possible stresses under various conditions for a system. A fully automatic system of this type would preferably require as input variables only a knowledge of the shape of the object or material of the system under load, total maximal surface forces applied, and allowed stress ranges. From these input variables, the system would then determine possible ways to distribute the load on the surface of the object or material to achieve maximal stresses, and determine if any of these stresses are outside a safe range. Alternatively, for a given maximal stress, the system would determine a distribution of loads producing this stress with minimal total force applied. It is further desirable to design a system and method capable of identifying “worst case” structural problems in objects, particularly for 3D printing, based only on a knowledge of the shape or geometry of the object or material of the system and material properties only, with no specific assumptions made about loads and manual load setups.